#pragma once
#include <vector>
#include <vulkan/vulkan.h>
#include "graphics/Texture.h"
#include "vulkan/VKShader.h"
#include "vulkan/VKBuffer.h"
#include "math/Matrix4.h"

struct MVPMatrixUBO
{
	Matrix4 model;
	Matrix4 view;
	Matrix4 projection;
};

struct VPMatrixUBO
{
	Matrix4 view;
	Matrix4 projection;
};


class Material
{
public:
	Material(std::vector<Texture*> textures, const std::string& shaderName);
	virtual ~Material();

	std::vector<Texture*> m_MaterialTextures;
	std::vector<VKBuffer*> m_MaterialUniformBuffers;
	VKShader* m_MaterialShader;
};

